import axios from 'axios'
import { ElMessage } from 'element-plus'
import router from '../router';
/* 请求配置 */
const service = axios.create({
    baseURL: import.meta.env.VITE_BASE_URL,
    timeout: 5000,
    headers: {
        'Content-Type': 'application/json; charset=UTF-8'
    },
    // validateStatus: function (status) {
    //     if (status === 401) {
    //         ElMessage.error({ message: '验证失败', grouping: true })
    //         window.sessionStorage.clear()
    //         router.push('/login')
    //     }
    //     if (status === 403) {
    //         ElMessage.error({ message: '暂无权限', grouping: true })
    //     }
    //     if (status === 500) {
    //         ElMessage.error({ message: '系统错误', grouping: true })
    //     }
    //     return status >= 200 && status < 300
    // }
})


// 添加请求拦截器
service.interceptors.request.use(
    function (config) {
        // 发送请求之前做什么
        // 请求头增加token
        config.headers.Authorization = localStorage.getItem('token')
        return config;
    },
    function (error) {
        // 对请求错误做些什么
        ElMessage.error({ message: '请求超时!' })
        return Promise.reject(error)
    }
);

// 添加响应拦截器
service.interceptors.response.use((res) => {
    const { code, data, msg } = res.data
    if (code == 200) {
        return data
    } else {

    }
})

// 添加响应拦截器
// service.interceptors.response.use(response => {
//     const res = response.data
//     if (res.code === 401) {
//         router.push('/login')
//     } else if (res.code !== 200) {
//         ElMessage.error(res.msg || { message: '系统错误', grouping: true })
//         return Promise.reject(new Error('Error'))
//     } else {
//         return res
//     }
// }, error => {
//     return Promise.reject(error)
// })

function request(options) {
    options.method = options.method || "get"
    return service(options)
}

export default request;